<?php
namespace app\admin\controller;
use app\admin\model\Cate as CateModel;
use think\facade\Request;
use app\admin\traits\Result;
use think\validate;
use think\Db;

class Cate extends Common
{
    
    public function index(){

       //  $a = ["A农、林、牧、渔业 ->01农业",
       //      "A农、林、牧、渔业 ->02林业",
       //      "A农、林、牧、渔业 ->03畜牧业",
       //      "A农、林、牧、渔业 ->04渔业",
       //      "A农、林、牧、渔业 ->05农、林、牧、渔专业及辅助性活动",
       //      "B采矿业 -> 06煤炭开采和洗选业",
       //      "B采矿业 -> 07石油和天然气开采业",
       //      "B采矿业 -> 08黑色金属矿采选业",
       //      "B采矿业 -> 09有色金属矿采选业",
       //      "B采矿业 -> 10非金属矿采选业",
       //      "B采矿业 -> 11开采专业及辅助性活动",
       //      "B采矿业 -> 12其他采矿业",
       //      "C制造业 ->13农副食品加工业",
       //      "C制造业 -> 14食品制造业",
       //      "C制造业 -> 15酒、饮料和精制茶制造业",
       //      "C制造业 -> 16烟草制品业",
       //      "C制造业 -> 17纺织",
       //      "C制造业 -> 18纺织服装、服饰业",
       //      "C制造业 -> 19皮革、毛皮、羽毛及其制品和制鞋业",
       //      "C制造业 -> 20木材加工和木、竹、藤、棕、草制品业",
       //      "C制造业 -> 21家具制造业",
       //      "C制造业 -> 22和纸制品业",
       //      "C制造业 -> 23印刷和记录媒介复制业",
       //      "C制造业 -> 24文教、工美、体育和娱乐用品制造业",
       //      "C制造业 -> 25石油、煤炭及其他燃料加工业",
       //      "C制造业 -> 26化学原料和化学制品制造业",
       //      "C制造业 -> 27医药制造业",
       //      "C制造业 -> 28化学纤维制造业",
       //      "C制造业 -> 29橡胶和塑料制品业",
       //      "C制造业 -> 30非金属矿物制品业",
       //      "C制造业 -> 31黑色金属冶炼和压延加工业",
       //      "C制造业 -> 32有色金属冶炼和压延加工业",
       //      "C制造业 -> 33金属制品业",
       //      "C制造业 -> 34通用设备制造业",
       //      "C制造业 -> 35专用设备制造业",
       //      "C制造业 -> 36汽车制造业",
       //      "C制造业 -> 37铁路、船舶、航空航天和其他运输设备制造业",
       //      "C制造业 -> 38电气机械和器材制造业",
       //      "C制造业 -> 39计算机、通信和其他电子设备制造业",
       //      "C制造业 -> 40仪器仪表制造业",
       //      "C制造业 -> 41其他制造业",
       //      "C制造业 -> 42废弃资源综合利用业",
       //      "C制造业 -> 43金属制品、机械和设备修理业",
       //      "D电力、热力、燃气及水生产和供应业 -> 44电力、热力生产和供应业",
       //      "D电力、热力、燃气及水生产和供应业 -> 45燃气生产和供应业",
       //      "D电力、热力、燃气及水生产和供应业 -> 46水的生产和供应业",
       //      "E建筑业 -> 47房屋建筑业",
       //      "E建筑业 -> 48土木工程建筑业",
       //      "E建筑业 -> 49建筑安装业",
       //      "E建筑业 -> 50建筑装饰、装修和其他建筑业",
       //      "F批发和零售业 ->51批发业",
       //      "F批发和零售业 -> 52零售业",
       //      "G交通运输、仓储和邮政业 -> 53铁路运输业",
       //      "G交通运输、仓储和邮政业 -> 54道路运输业",
       //      "G交通运输、仓储和邮政业 -> 55水上运输业",
       //      "G交通运输、仓储和邮政业 -> 56航空运输业",
       //      "G交通运输、仓储和邮政业 -> 57管道运输业",
       //      "G交通运输、仓储和邮政业 -> 58多式联运和运输代理业",
       //      "G交通运输、仓储和邮政业 -> 59装卸搬运和仓储业",
       //      "G交通运输、仓储和邮政业 -> 60邮政业",
       //      "H住宿和餐饮业 -> 61住宿业",
       //      "H住宿和餐饮业 -> 62餐饮业",
       //      "I信息传输、软件和信息技术服务业 -> 63电信、广播电视和卫星传输服务",
       //      "I信息传输、软件和信息技术服务业 -> 64互联网和相关服务",
       //      "I信息传输、软件和信息技术服务业 -> 65软件和信息技术服务业",
       //      "J金融业 -> 66货币金融服务",
       //      "J金融业 -> 67资本市场服务",
       //      "J金融业 -> 68保险业",
       //      "J金融业 -> 69其他金融业",
       //      "K房地产业 -> 70房地产业",
       //      "L租赁和商务服务业 -> 71租赁业",
       //      "L租赁和商务服务业 -> 72商务服务业",
       //      "M科学研究和技术服务业 -> 73研究和试验发展",
       //      "M科学研究和技术服务业 -> 74专业技术服务业",
       //      "M科学研究和技术服务业 -> 75科技推广和应用服务业",
       //      "N水利、环境和公共设施管理业 -> 76水利管理业",
       //      "N水利、环境和公共设施管理业 -> 77生态保护和环境治理业",
       //      "N水利、环境和公共设施管理业 -> 78公共设施管理业",
       //      "N水利、环境和公共设施管理业 -> 79土地管理业",
       //      "O居民服务、修理和其他服务业 -> 80居民服务业",
       //      "O居民服务、修理和其他服务业 -> 81机动车、电子产品和日用产品修理业",
       //      "O居民服务、修理和其他服务业 -> 82其他服务业",
       //      "P教育 -> 83教育",
       //      "Q卫生和社会工作 -> 84卫生",
       //      "Q卫生和社会工作 -> 85社会工作",
       //      "R文化、体育和娱乐业 -> 86新闻和出版业",
       //      "R文化、体育和娱乐业 -> 87广播、电视、电影和录音制作业",
       //      "R文化、体育和娱乐业 -> 88文化艺术业",
       //      "R文化、体育和娱乐业 -> 89体育",
       //      "R文化、体育和娱乐业 -> 90娱乐业",
       //      "S公共管理、社会保障和社会组织 -> 91中国共产党机关",
       //      "S公共管理、社会保障和社会组织 -> 92国家机构",
       //      "S公共管理、社会保障和社会组织 -> 93人民政协、民主党派",
       //      "S公共管理、社会保障和社会组织 -> 94社会保障",
       //      "S公共管理、社会保障和社会组织 -> 95群众团体、社会团体和其他成员组织",
       //      "S公共管理、社会保障和社会组织 -> 96基层群众自治组织及其他组织",
       //      "T国际组织 -> 97国际组织"];
       //  $aa=[];
       //      foreach ($a as $key => $val) {
       //          $aa[$key]['title']=$val;
       //      }
       // $aaa =  Db::name('cate')->insertAll($aa);
       //  dump($aaa);die;
            $cate_list = Db::name('cate')->where('parent_id',0)->order('sort asc,id asc')->select();

            foreach ($cate_list as $key => $val) {

                $cate_list[$key]['sub'] = Db::name('cate')->where('parent_id',$val['id'])->order('sort asc,id asc')->select();

            }

        return $this->fetch('',['cate_list'=>$cate_list]);
        
    }

     
    
    public function edit(){
       if ($this->request->isPost()) {
            $data = $this->request->post();
			
			$validate = validate('Cate');
			if (!$validate->check($data)) {
				//令牌数据无效时重置令牌
				$validate->getError() != '令牌数据无效' ? $token = Request::token() : $token = '';
				$msg = Result::error($validate->getError(), null, ['token' => $token]);
				return $msg;
			}
				
            if ($data['id']) {
                if($data['id'] == $data['parent_id']){
                    $this->error('上级分类不能选自己');
                }
				$data['update_time'] = time();
                //编辑
                $res = CateModel::update($data, ['id' => $data['id']]);
                if ($res) {
                    $msg = Result::success('编辑成功', url('/admin/cate-list'));
                } else {
                    $msg = Result::error('编辑失败');
                }
            } else {
                //添加
                $CateModel = new CateModel;
				$data['create_time'] = time();
                $res = $CateModel->allowField(true)->save($data);
                if ($res) {
                    $msg = Result::success('添加成功', url('/admin/cate-list'));
                } else {
                    $msg = Result::error('添加失败');
                }
            }
            return $msg;
        } else { 
            $id = $this->request->get('id', 0, 'intval');
            if ($id) {
                $list = CateModel::where('id', '=', $id)->find();
                $this->assign('list', $list);
            }
            $cate_list = Db::name('cate')->where('parent_id',0)->order('sort asc,id asc')->select();
            $this->assign('cate_list', $cate_list);
            return $this->fetch();
        } 
        
    }
    
    
    public function del(){
        $id = $this->request->param('id', 0, 'intval');
        if ($id) {


            $res = CateModel::where('id='.$id)->delete();
                if ($res) {
                    $msg = Result::success('删除成功',url('/admin/cate-list'));
                } else {
                    $msg = Result::error('删除失败');
                }
        
                return $msg;
            
        } else {
            $this->error('参数错误');
        }
        
    }
    
    
    //清空
	public function delall()
    {
        $res = Db::name('cate')->delete(true);
        if ($res) {
            $msg = Result::success('操作成功');
        } else {
            $msg = Result::error('操作失败');
        }
        return $msg;
    }
    
}



?>